Color blind friendly pick to light system for identifying storage locations

ABSTRACT

Embodiments herein describe techniques for operating lighting systems which can be used by associates who are colorblind or are susceptible to optically induced seizures (e.g., photosensitive epilepsy). In one embodiment, the lighting system includes programmable light sources which permit the lighting system to use colors that a colorblind person can easily distinguish—e.g., red, blue, orange, etc. Put differently, the lighting system can choose colors which are easily distinguishable to a colorblind associate when instructing the associate to take an action. Moreover, the lighting system can pulse a light source by changing its brightness or intensity over time. The lighting system can control a maximum gradient change rate and a maximum intensity change to mitigate a risk of optical seizures when pulsing the light sources to mitigate the risk of inducing a seizure.

BACKGROUND

Shipping packages typically involves moving the packages to differentlocations in a shipping warehouse in preparation for the packages beingloaded onto trucks. Although some of the package movement throughout thewarehouse can be automated, much of the sorting is performed by humans.For example, an item sortation machine may sort packages into differentbins or containers but a worker (also referred to as an associate) inthe warehouse retrieves those containers to build a pallet, place thecontainer on a conveyor, move the container onto a forklift, and thelike.

BRIEF DESCRIPTION OF DRAWINGS

Various embodiments in accordance with the present disclosure will bedescribed with reference to the drawings, where like designations denotelike elements.

FIG. 1 is a distribution system for sorting packages into multiplecontainers, according to various embodiments.

FIG. 2 is a block diagram of an item sortation machine and thedistribution system, according to various embodiments.

FIG. 3 is a flowchart for changing a lighting configurationcorresponding to a container in the distribution system, according tovarious embodiments.

FIG. 4 is a block diagram of a control system for setting lightingconfigurations corresponding to containers, according to variousembodiments.

FIG. 5 is a flowchart for controlling lights using a colorblind friendlyand seizure prevention scheme, according to various embodiments.

FIGS. 6A and 6B illustrate lighting configurations for identifying acontainer, according to various embodiments.

FIG. 7 is a chart for pulsing a pixel while mitigating the risk ofseizures, according to various embodiments.

FIGS. 8A-8C illustrate pulsing multiple pixels to form an animation,according to various embodiments.

FIGS. 9A-9C illustrate pulsing multiple pixels to form an animation,according to various embodiments.

DETAILED DESCRIPTION

As mentioned above, an item sortation machine may sort packages intodifferent bins or containers. To assist the associate when identifying afull container (or to troubleshoot problems with the containers), alight can be disposed next to each of the containers. For example, whenthe container is ready for pick up, the light next to the container canilluminate indicating to the associate that the container is ready forretrieval. The associate can then retrieve the container and move it toanother location in the warehouse. In this manner, the lights provide anefficient mechanism for communicating with the associate when acontainer is ready to be picked—i.e., retrieved.

Embodiments herein describe techniques for operating lighting systemswhich can be used by associates who are colorblind or are susceptible tooptically induced seizures (e.g., photosensitive epilepsy). Associateswith colorblindness have a decreased ability to see color or differencesin color such as between shades of green and red. Thus, lighting systemswhich use red and green lights to instruct on associate to takedifferent actions can be misinterpreted by associates withcolorblindness. In one embodiment, the lighting system can includeprogrammable light sources (e.g., programmable light-emitting diodes(LED)) which permit the lighting system to use colors which a colorblindperson can easily distinguish—e.g., red, blue, orange, etc. Putdifferently, the lighting system can choose colors which are easilydistinguishable to a colorblind associate when instructing the associateto take an action.

In one embodiment, the lighting system pulses a programmable lightsource by changing its brightness or intensity over time. For example,the lighting system may gradually increase the brightness of the lightsource over a first time period of time before decreasing the brightnessof the light source over a second time period until the light sourcereaches its initial brightness. In one embodiment, the rate at which thelight system changes the brightness of the light source, as well as thechange in brightness, is controlled to mitigate the risk the lightsource can induce a seizure in the associate viewing the pulsing lightsource. For example, the lighting system may change the brightness notmore once every one millisecond and limit the brightness change to notmore than 5% of the previous brightness to mitigate the risk of inducinga seizure. Moreover, the lighting system may not turn the light sourceoff completely when pulsing the light like when blinking a light (e.g.,turning a light source on-off repeatedly). In this manner, the lightingsystem controls the rate of change as well as the percentage of thebrightness changes to mitigate the risk of optically induced seizures.

FIG. 1 is a distribution system 100 for sorting packages into multiplecontainers 120, according to various embodiments. The distributionsystem 100 includes a frame 105 which defines storage locations 110 forrespective containers 120. In this example, the frame 105 establishes aplurality of rows and columns arranged in a grid but in otherembodiments the distributions system 100 could have only one row or onlyone column. Moreover, the storage locations 110 could be staggered orform any different number of patterns. In one embodiment, the containers120 are removable from the storage locations 110. For example, when acontainer 120 becomes full, the distribution system 100 can use lights(e.g., individual LEDs or pixels) in the LED strips 115 to inform theassociate that the container is full. The associate can then remove thecontainer 120 and put a new empty container 120 in its place.

In one embodiment, the distribution system 100 is in a facility orwarehouse (e.g., distribution facility, fulfillment center, etc.) thatis logically organized into areas or regions associated with variousfunctions. For example, after retrieving a full container 120 from theframe 105, an associate may place the container 120 on a conveyor or ahand truck for moving the container 120 to a packing area where thecontainer 120 is loaded onto a pallet. From there, the pallet can bemoved into a truck for shipping.

Although not shown, the LED strips 115 may be controlled by an inventorytracking system which records what items or packages are in each of thecontainers 120. In one embodiment, the inventory tracking system usesthe LED strips 115 to instruct an associate to take different actions.For example, when the container 120 is full, the inventory trackingsystem selects one or more lights in a LED strip 115 next to the fullcontainer to illuminate a shade of blue. If there is a problem with astorage location 110 (e.g., an item was mis-sorted), the inventorytracking system may instruct the corresponding lights to illuminate adifferent color—e.g., red or orange. In this manner, the inventorytracking system and the LED strips 115 can assign different colors todifferent user actions. Moreover, the different colors may be selectedsuch that they are distinguishable to a colorblind user. In oneembodiment, the LED strips 115 are white backed LED strips (with anyweather-proofing removed if used indoors). Moreover, in otherembodiments LED rings or single LEDs can be used.

In addition to using different colors, the LED strips 115 may useanimations to highlight a storage location 110 or instruct the associateto take an action. For example, instead of simply turning on one or morelights when indicating a container 120 is full, the lights may pulse tobetter capture the attention of the associate. In one embodiment,instead of blinking (e.g., turning on and then completely off overmultiple iterations), the pulsing light may change brightness (e.g.,increase brightness, decrease brightness, or both overtime) withoutturning completely off. That is, the brightness of the light mayoscillate between a high intensity and low intensity at a predefinedrate. Moreover, the LED strips 115 may perform more complex animationsthan just pulsing one or more lights. For example, using the LED strips115 surrounding a storage locations, the LED strips 115 may control thebrightness of the LEDs such that each subsequent light is graduallyturned on and then off in a clockwise or counterclockwise fashion tocircle the storage location 110 of interest. Furthermore, a light thatis steadily on at a constant brightness (i.e., does not pulse) mayindicate a different action or a different priority level than a lightthat is pulsing. For example, the LED strip 115 next to a full container120 that has items scheduled to be shipped out of the warehouse in thenext hour may have lights that pulse while the LED strip 115 next to afull container 120 that has items scheduled to be shipped the next daymay have lights that are on, but do not pulse or blink. The associatemay be trained to retrieve the containers 120 corresponding to thepulsing lights first.

In one embodiment, the pulsing lights in the LED strips 115 used to makethe animations are controlled to mitigate a risk of optically inducedseizures. When changing the brightness from a first intensity to asecond intensity, the lights may change at discrete intensity changesspread out over time. For example, the pulsing light may increment ordecrement its intensity once every 1 millisecond. Moreover, the LEDstrip may limit the amount the brightness or intensity changes duringeach discrete intensity change e.g., a percentage of the previousintensity level. For example, if the rate at which the intensity changesis limited to once every millisecond, the intensity can change at most5% each millisecond. However, to make the change in intensity appearmore smooth to the associate, the LED strip may use a faster rate (e.g.,change its intensity once every half a millisecond) but then furtherlimit the amount the intensity can change during the half a millisecondintervals e.g., at most a 2% change in intensity. Thus, the rate atwhich the intensity changes and the maximum amount the intensity canchange during each step can be dependent on each other. For lightingsystems where the rate at which the intensity changes is slower, greaterchanges in the intensity during each update or step can be increased andhave the same low-risk of causing a seizure as a light system where therate of change is faster but the change in intensity during each step issmaller. That is, because the intensity changes are spread out over alonger time period, the intensity changes can be greater than a systemwhere the intensity changes occur more frequently. In any case, the LEDstrips 115 can be controlled such that changing the intensity of thelight when performing an animation has a low risk of inducing a seizure.

In FIG. 1, each one of the strips 115 (and the pixels therein) isarranged on the frame 105 to establish an assigned relationship with oneof the storage locations 110. For example, at least one strip 115 isdisposed on a portion of the frame 105 neighboring each one of thestorage locations 110. In FIG. 1, at least one pixel or LED is disposedon a portion of the frame 105 used to defined the boundaries of thestorage locations 110 such that when illuminated, the associate canidentify what storage location 110 corresponds to the illuminated light.Although FIG. 1 illustrates surrounding most of the storage locations110 with the LED strips 115, in other embodiments the LED strips 115 maybe disposed on only one side of the frame 105 defining the storagelocations 110. For example, the associates may be taught that theilluminated lights always correspond to the storage location 110 to theright of the lights. Or the LED strips 115 may be disposed on twoopposite sides of the storage locations 110 (e.g., the right and leftsides or the top and bottom sides) thereby indicating the storagelocation 110 that is between the illuminated sides.

Although FIG. 1 illustrates disposing the LED strips 115 on a surface ofthe frame 105 facing the associate, in other embodiments the LED strips115 can be mounted on surfaces of the frame 105 facing the containers120 or the insides of the storage locations 110. Thus, when turned on,the LED strips 115 illuminate the containers 120 which may help theassociate to easily identify the container 120 she should interact with.Moreover, the LED strips 115 can include diffusers to help the light tobe seen by an associate who is standing in front of the storagelocations 110.

In one embodiment, the containers 120 may fixed (e.g., not removable) oromitted. For example, a first associate may sort items into the storagelocations 110 on a first side of the distribution 110 using the LEDstraps 115 while a second associate retrieves items from the storagelocations 110 using second, opposite side of the distribution system100. That is, the storage locations 110 may be open on both the firstand second sides of the frame 105. Each storage location 110 maycorrespond to a customer order or a geographic destination. Once thefirst associate has sorted all the items into a first half of thestorage location 110 for the order or geographic destination, the lightson the LED strips 115 can instruct the first associate to push the itemsthrough to a second half of the storage location 110. LED strips 115disposed on the second side of the frame 105 can instruct the secondassociate to retrieve the items from the storage location 110 and, forexample, package the items or store the items.

FIG. 2 is a block diagram of an item sortation machine 200 and thedistribution system 100, according to various embodiments. Generally,the machine 200 sorts received items 225 into the containers 120 in thedistribution system 100 using wirelessly controlled robots 240. However,the wireless communication techniques described herein are not limitedto such and can be used in any wireless controlled machine such as amachine for moving containers or racks in a warehouse, removing an itemfrom a package, packing an item into a shipping container, picking anitem, and the like. The embodiments herein can be used in any machineused to move or sort items 225 in a warehouse, sorting facility, mailprocessing facility, packing facility, etc. Further, the distributionsystem 100 does not need to be used with an automated machine but can beused by an associate for sorting items. For example, the associate mayuse the lights next to the containers 120 to sort the items into thecontainers 120, rather than relying on the machine 200.

The sortation machine 200 includes a master control system 205, a feeder230, and a robot area 235. The master control system 205 provides thewireless control signals using a master controller 210 and antenna 220(e.g., a transmit antenna) which control the actions of the robots 240in the robot area 235. For example, the master control system 205 maywirelessly send move commands, pick-up commands, drop commands, stopcommands, and the like which control how the robots 240 move themselves,and the item 225, in the robot area 235. Although not shown, the mastercontrol system 205 can also include a heartbeat controller which usesthe antennas 220 to transmit a wireless heartbeat (or E-stop) signal tothe robots 240. In one embodiment, the robots 240 perform the commandsreceived from the master controller 210 only as long as the heartbeatsignal is received. That is, if the heartbeat controller stops sendingthe heartbeat signal, the robots immediately stop (e.g., within a fewmillisecond) their current task. In one embodiment, the heartbeat signalis used to stop the robots 240 in the case of an emergency or amalfunction.

In one embodiment, the master controller 210 includes one or moreprocessors or micro-controllers. The master controller 210 can includesolely hardware and firmware or can include combinations of hardware andsoftware elements. Although not shown, the control system 205 caninclude master controllers 210 for multiple different machines 200. Forexample, the control system 205 can refer to multiple independentlyoperating master controllers 210 for controlling respective machines200, synchronized master controllers 210, or a single master controller210 which controls multiple different machines 200.

The feeder 230 is a structure that moves the item 225 into the robotarea 235. For example, the robot area 235 may be an enclosure thatestablishes an area where the robots 240 move. The feeder 230 may be achute which slides the item 225 into a receiving area in the robot area235, a conveyor belt which moves the packages into the area 235, or acontainer in which a human places the items 225. In any case, the robots240 can retrieve the item 225 once the item 225 arrives in the robotarea 235 and use the commands received from the master control system205 to move the item to the distribution system 100 where the item isstored in one of the containers 120.

The machine 200 can include any number of robots 240, e.g., one, two,three, four, etc. As shown, each robot 240 includes a transport device245, a movement system 250, a power source 255, a controller 260, and atleast one antenna 265. The transport device 245 permits the robot 240 tocarry the item 225 to different locations in the robot area 235. Forexample, the robot area 235 may be a fenced off enclosure on thewarehouse floor or a frame which includes tracks which the robots 240can follow. The robots 240 can move along the floor and/or verticallyusing the frame. In another example, a portion of the robots 240 (or theentire robot) may remain stationary in the robot area 235. For instance,the base of the robot 240 may be anchored while an extension of therobot (e.g., a robotic arm) can move to pick up the items 225 and movethem to different locations. The transport device 245 may include a clawor suction cup for lifting or picking the item 225. In another example,the transport device 245 may be a conveyor that receives the item 225from a conveyor belt in the feeder 230. In another embodiment, thetransport device 245 may be a bin in which the feeder 230 places theitem 225.

The movement system 250 may move the entire robot 240 or a portion ofthe robot 240 within the robot area 235. For example, the movementsystem 250 can include wheels or bearings which permit the robot 240 tomove along the floor or along tracks. In another example, the movementsystem 250 includes an arm attached to the transport device 245 to movethe item 225. For example, the robot area 235 may include a centralconveyor belt that moves received items 225 past the robots 240. Themaster controller 210 can instruct a selected one of the robots 240 topick up the item 225 as it passes using the movement system 250 and thetransport device 245 to place the item 225 into the distribution system100.

The power source 255 in the robots 240 can be a battery or a capacitor.For example, the robots 240 may move relative short distances (e.g.,less than 50 feet) before they return to recharge. In that case, thecharge on a large capacitor (or capacitors) can be sufficient to movethe robot 240 before the robot 240 returns to a charging station or railto recharge the capacitor. The advantage of using a capacitor as thepower source 255 is that it can provide high currents and recharge in ashorter time than a battery, although either is acceptable. In anotherexample, if the entire robot 240 does not move within the robot area235, then the robot can be connected to a power grid (e.g., plugged intoa power outlet) where the power source 255 can be a power converter.

The controller 260 can be one or more processors or micro-controllerswhich receive commands from the master controller 210 using the antenna265 and issues corresponding commands to the transport device 245 andmovement system 250. For example, if the master controller 210 instructsthe robot 240 to move the item 225 to a particular location in the robotarea 235, the controller 260 in turn issues one or more commands to themovement system 250 to move the robot to the desired location. In oneembodiment, in addition to receiving information from the mastercontroller 210, the controller 260 can transmit information to themaster controller 210. For example, the controller 260 may use theantenna 265 to inform the master controller 210 when a command has beencompleted successfully. The controller 260 may send other informationwirelessly to the master controller 210 such as the charge on the powersource 255, status of the transport device 245 or movement system 250(if there is a malfunction or needs repair), if the item 225 wasdropped, and the like. In one embodiment, the controller 210 may beentirely hardware, but in other embodiments may include a combination ofhardware/firmware and software.

The master controller 210 can communicate with an inventory trackingsystem 280 using wireless or wired communication. For example, themaster controller 210 may inform the inventory tracking system 280 whena command has been completed successfully (e.g., an item 125 has beenplaced in the container 120) or when a command has not been completedsuccessfully. For example, using sensors on the robots 240, the mastercontroller 210 may determine an item 225 fell off, or the robot 240could not place an item in a container 120 due to a jam in the machine200 or because an item 225 previously placed in the container 120 isblocking the robot 240 from placing the current item 225 into thecontainer 120. The robot 240 could also use sensors to determine whenthe container 120 is full or when items 125 have been stacked above acertain height in the containers 120. The master controller 210 canforward all of this information to the inventory tracking system 280. Inturn, the inventory tracking system 280 can use this information tocontrol a lighting system on the distribution system 100 (not shown inFIG. 2) to provide instructions to an associate regarding the containers120.

The inventory tracking system 280 can use an item database 285 to trackthe items 225 in the warehouse. When an item is placed in a container120 by the item sortation machine 200, the inventory tracking system 280can update the item database 285. In this manner, the inventory trackingsystem 280 can know what items are in which container 120 in thewarehouse. In one embodiment, the item database 285 may maintain avirtual container that corresponds to each of the containers 120. Forexample, each of the containers 120 may include a unique ID (e.g.,encoded into a bar code or QR code disposed on the containers 120). Eachtime an item 225 is placed in a physical container 120, the inventorytracking system 280 updates the virtual container in the item database285 to indicate the item 225 is now in the corresponding physicalcontainer 120. In one embodiment, the inventory tracking system 280 canuse dimensions of the items 225 being placed in the containers 120 todetermine if the container is full. However, doing so does not alwaysprovide an accurate indicator since the dimensions (which can beprovided by a vendor) may be wrong or the items may stack in differentways in the containers 120. Using a combination of the sensors in therobots 240 and the dimensions of the items 225 may provide a moreaccurate estimate when the containers 120 are full.

As mentioned above, the distribution system 100 receives the item 225from the robot 240 and places the item 225 in one of the containers 120.The distribution system 100 may be multiple access apertures (e.g., afiling system) with corresponding chutes that lead to the containers120. Using the transport devices 245, the robots 240 can move the items225 through the apertures in the distribution system 100 and into thecontainers 120. In another example, the distribution system 100 mayinclude fasteners or platforms for coupling the containers 120 to thedistribution system 100. For instance, the distribution system 100 mayform a rack or frame on which the containers 120 are mounted. The robots240 can travel to the portion of the rack that stores the correspondingcontainer 120 for the package and place the item 225 into the container120.

In one embodiment, the containers 120 are assigned differentdestinations either within the warehouse or to an external location(e.g., a different warehouse or mailing code) as indicated by theinventory tracking system 280. Moreover, the containers 120 maycorrespond to different shipping companies. In one embodiment, themaster controller 210 learns the desired destination of the items 225from the inventory tracking system 280, which may be determined byscanning a bar code or reading an RFID tag on the item 225 when in thefeeder 230. The master controller 210 can then provide instructions tothe robots 240 to move the item 225 to the appropriate location indistribution system 100 such that the item 225 is stowed in thecontainer 120 corresponding to its destination. In this manner, the itemsortation machine 200 can provide commands to the robots 240 for sortingreceived items 225 into the containers 120.

FIG. 3 is a flowchart of a method 300 for changing a lightingconfiguration corresponding to a container in the distribution system,according to various embodiments. At block 305, the item sortationmachine sorts an item into a container. The item sortation machine caninclude robots, actuators, conveyor belts, chutes, and the like to moveitems into a corresponding container. In one embodiment, the itemsortation machine determines where to sort the item using informationreceived from the inventory tracking system. For example, using an IDcorresponding to the item, the inventory tracking system can determine adestination for the item in the warehouse or a destination outside ofthe warehouse and then instruct the item sortation machine to place theitem in the container corresponding to that destination.

At block 310, the inventory tracking system receives sortationinformation from sensors in the item sortation machine. In oneembodiment, the sortation information includes whether the item wasproperly sorted into the container. For example, the item may have beenmis-sorted (e.g., placed in the wrong container), the container may befull, the container may have another item that is blocking the item, astowed item may have fallen out of a container, or the item may havefallen off a robot during transit. Thus, the item sortation machine canreport to the inventory tracking system when an item was sortedproperly, when the item was not sorted, the status of the container(e.g., full or blocked), or the status of items previously stowed in thecontainer (e.g., an item fell out of the container).

At block 315, the inventory tracking system determines if a status of acontainer has changed. In one embodiment, the inventory tracking systemuses the sortation information provided by the item sortation machine atblock 310 to determine the status of the containers in the distributionsystem. For example, using this information, the inventory trackingsystem determines that the container includes all the items going to itsdestination, and thus, can be picked up. Or the inventory trackingsystem can determine the container is full and should be replaced with anew container. In another example, the inventory tracking systemdetermines there is a problem with the container and an associate shouldbe dispatched to identify and fix the problem. For instance, the robotmay report that an item is blocking it from placing another item in thecontainer, or that an item has fallen out of the container. As such, theinventory tracking system can use a variety of different statuses forthe containers in the distribution system such as: not full, potentiallyfull, ready for pickup, blocked, etc.

In one embodiment, the inventory tracking system uses internal metricsto determine whether to change the status of a container. For example,in addition to using the information provided by the item sortationmachine, the inventory tracking system can use information in the itemdatabase to change the status of the containers. Because the itemdatabase tracks the items in the containers, the inventory trackingsystem may change the status from “not full” to “ready for pickup” ifthe number of items in the container exceeds a threshold. In anotherembodiment, the inventory tracking system can use dimensions of theitems to determine if a container is full. For example, the inventorytracking system can use the dimensions of the item to calculate thevolumes of the items and then compare the sum of those volumes to thevolume of the container itself. If, e.g., the sum of the volumes of theitems exceeds 70% (or some other predefined threshold) of the volume ofthe container, the inventory tracking system changes the status from“not full” to “potentially full.” Because item dimensions may beunreliable, the inventory tracking system may use sensor data from therobots to determine if the container is actually full or, using laterblocks in method 300, request that an associate visually view thecontainer to determine if it is full. When the status is “potentiallyfull,” the inventory tracking system may not let the item sortationmachine place more items into the container.

If the status was changed, the method 300 proceeds to block 320 wherethe inventory tracking system changes a lighting configurationcorresponding to the container to a first state using a colorblindfriendly and seizure avoidance scheme. In one embodiment, the inventorytracking system has a different lighting state for each status of thecontainer. For example, the “not full” status has a first lightingconfiguration, the “potentially full” status, has a second lightingconfiguration, the “ready for pickup” status has a third lightingconfiguration, and so on. The different lighting configurations are usedto control the light sources corresponding to the containers in thedistribution system. For example, if the container previously had the“not full” status but changed to the “ready for pickup” status at block315, the inventory tracking system can send an instruction to change thelighting configuration of a light source next to the container fromgreen to blue, or from no color (e.g., the light source is turned off)to blue. An associate can see the blue light and know, based ontraining, that the corresponding container is ready for pickup.

The different container statuses can have different lightingconfigurations or can share lighting configurations. For example, thestatuses “not full,” “full,” and “ready for pickup” may all havedifferent lighting configurations which have different colors and/ordifferent animations. However, other statuses can share the samelighting configurations. For example, the statuses indicating there is,or could be, a problem with the container such as “potentially full” or“blocked” can have the same lighting configuration—e.g., a pulsing redlight. The lighting configuration alerts the associate who can view thecontainer and diagnosis the problem. The associate can provide feedbackto the inventory tracking system which can then change the status usingthe feedback (e.g., if the container is not actually full or if theassociate rearranged the items in the container).

If the lighting configuration includes an animation—e.g., a pulsinglight or multiple pulsing lights that illustrate motion—the changingintensities of the light or lights is controlled to avoid causingoptical seizures. As mentioned above, the animations restrict how oftenthe intensity changes, and the amount as which intensity varies eachtime it does change.

In one embodiment, the inventory tracking system accounts for changesbetween lighting configurations when preventing optical seizures. Thatis, when changing the lighting configurations at block 320 from theprevious state to the first state, the inventory tracking system maychange the states gradually to prevent seizures. For example, even ifthe lighting configurations do not include animations (e.g., the lightsare illuminated at a constant intensity or brightness), when lightsspread across the distribution system are changing states at similartimes, this may be enough to induce an optical seizure. If only onelight (or a group of lights) for a storage location are changing fromgreen to blue, this may not be enough to induce a seizure even if thechange in colors happens rapidly. However, the lights corresponding tomultiple storage locations may change at, or near, the same time. Thus,even if these light are not using animations, an associate viewing theentire distribution system may see lights changing color every second orso (depending on how often the states change for each of the storagelocations). Thus, the inventory tracking system may change the lightsslowly (e.g., gradually changing the colors over a predefined timeperiod) rather than changing the colors of the lights instantly whenchanging the lighting configurations.

At block 325, the inventory tracking system determines whether itreceives associate feedback. As mentioned above, the different lightingconfigurations (and their different states) may correspond toinstructions or actions for the associates such as troubleshooting astorage location, removing a full bin, replacing a fallen item, and thelike. At block 325, the inventory tracking system waits for theassociate to inform it when the action (or actions) corresponding to thefirst state has been performed. For example, the associate may use apersonal handheld device (e.g., a tablet or barcode reader) or a buttonon the distribution system to inform the inventory tracking system whenthe corresponding action has been performed.

Once complete, the method 300 proceeds to block 330 where the inventorytracking system changes the lighting configuration of the lightscorresponding to the container to a second state using a colorblindfriendly and seizure avoidance scheme as described above. For example,if the associate indicates the container is not actually full (despitewhat a sensor on the item sortation machine may have reported or basedon volume calculations of the items in the container), the inventorytracking system changes the lighting configuration from the state of“potentially full” to “not full.” In another example, the associate mayrestack the items in the container so that a blocking item lies flat inthe container. In response, the inventory tracking system may change thestate from “blocked” to “not full” thereby permitting more items to beplaced in the container and update the lighting configurationaccordingly. The method 300 can then repeat so that more items can beplaced in the container (or placed in a new container if the previouscontainer was full).

FIG. 4 is a block diagram of a control system for setting lightingconfigurations corresponding to containers, according to variousembodiments. FIG. 4 includes the LED strip 115, a LED controller 425,the inventory tracking system 280, and the item sortation machine 200.The LED strip 115 includes a plurality of pixels 405 which can bereferred to as lights or light sources. In this embodiment, each pixel405 includes independently controllable subpixels for outputtingspecific colors—e.g., a red subpixel 410 for outputting red light, agreen subpixel 415 for outputting green light, and a blue subpixel 420for outputting blue light. Although the pixels 405 use a red, green,blue (RGB) color scheme, any color scheme can be used which rely onadditive or subtractive color mixing (e.g., cyan, magenta, yellow, andkey black (CMYK).

In one embodiment, the subpixels 410, 415, and 420 are controlled usingdifferent digital signals or values to perform color mixing to output anoverall color for the pixels 405. For example, to output purple for thepixel 405, the red subpixel 410 and the blue subpixel 420 are on whilethe green subpixel 415 is inactive. Different shades of purple (or anycolor) can be achieved by tuning the brightness of the individualsubpixels thereby changing their contributions to the combined color ofthe pixel 405. By independently controlling the subpixels, the overallcolor of the pixel 405 can be selected from thousands or millions ofdifferent colors.

In one embodiment, the pixels 405 in the LED strip 115 are individuallyaddressable. That is, each pixel 405 may correspond to a unique pixeladdress 430 to enable the LED controller 425 to set (or change) thecolor of each pixel 405 regardless of the color outputted by the otherpixels 405 in the strip 115. Thus, the LED controller 425 can use thepixel addresses 430 to select which of the pixels 405 are changed inresponse to a changed status of a container.

The LED controller 425 also includes a color scheme 435 for selectingcolors that are colorblind friendly. In one embodiment, the color foreach pixel 405 is selected using a color value represented by X-numberof bits where one third of the bits set the brightness of the redsubpixel 410, one third of the bits set the brightness of the greensubpixel 415, and the remaining one third of the bits set the brightnessof the blue subpixel 420. For example, the LED controller 425 may use a24-bit value to set the color of each pixel 405 where respective 8-bitsof the 24-bit value are used to control each of the subpixels. The LEDcontroller 425 can transmit an individual 24-bit value to each of thepixels 405 using the pixel addresses 430. In this manner, the LEDcontroller 425 can individual set, and change, the colors of the pixels405. Moreover, the LED controller 425 can transmit an intensity state ofeach of the pixels 405 such as SOLID (i.e., non-pulsing), PULSING, orOFF which can be used to generate animations using the pixels 405.

In one embodiment, the LED controller 425 includes hardware (e.g., anintegrated circuit or micro-controller), firmware, or software. The LEDcontroller 425 may be a micro controller disposed on the LED strip 115which receives instructions from the inventory tracking system 280. Inanother embodiment, the LED controller 425 is a software applicationthat executes in the inventory tracking system 280 or some othercomputing system.

The inventory tracking system 280 includes an illumination controller440 which communicates with the LED controller 425. The illuminationcontroller 440 uses container states 445 to provide instructions to theLED controller 425 for setting the colors of the pixels 405. Stateddifferently, the container states 445 stores the respective states ofthe containers, e.g., “not full,” “potentially full,” “ready forpickup,” etc., thereby determining the particular lighting configurationcorresponding to the containers. The illumination controller 440 updatesthe container states 445 using information obtained from the itemsortation machine 200 (e.g., from sensors disposed on or near thecontainers or sensor 270 disposed on the robots 240) as well as internalmetrics generated by the inventory tracking system 280 such as thenumber of items in the container or the occupied volume in thecontainer. For example, using the method 300 illustrated in FIG. 3, theinventory tracking system can update the container states 445 and changethe lighting configuration to provide feedback and instructions to theassociate using the LED controller 425.

In one embodiment, the illumination controller 440 is a softwareapplication executing on a computing system hosting the inventorytracking system 280. In one embodiment, the inventory tracking system280 is hosted on a computing system that is co-located in the samebuilding or warehouse as the LED strip 115 and the distribution systemon which the strip 115 is disposed. However, in other embodiments, theinventory tracking system 280 may be part of a cloud computing systemwhich includes remote computing resources.

FIG. 5 is a flowchart of a method 500 for controlling lights using acolorblind friendly and seizure prevention scheme, according to variousembodiments. At block 505, the illumination controller determines tochange the lighting configuration of a container to a new state. Thatis, based on the sensors in the robot or the internal metrics generatedby the inventory tracking system, the illumination controller changesthe container state for one of the containers which corresponds tochanging the lighting configuration corresponding to that container. Forexample, the illumination controller may change the state from “notfull” to “ready for pickup” or from “blocked” to “not full.” In eithercase, these states may correspond to different lighting configurations.As such, the illumination controller transmits instructions to the LEDcontroller to update a LED strip near the container to output thechanged lighting configuration.

At block 510, the LED controller 425 determines if the color scheme forthe new configuration includes a pulse which may be part of an animationused to highlight the container. A pulse can include any predefinedlighting configuration that causes the intensity or brightness of one ofthe pixels assigned to the container to change over time.

If the new lighting configuration does not include a pulse, the method500 proceeds to block 515 where the LED controller controls the pixelsusing a colorblind friendly scheme. That is, the LED controller choosescolors for the lighting configuration that are easily distinguishablefrom colors used in the previous lighting configuration. For example, ifin the previous lighting configuration the pixels outputted red, in thenew lighting configuration, the color scheme may be predefined to use acolor other than green—e.g., blue or orange—so that the change in thecontainer state is readily identifiable to a colorblind associateviewing the pixel or pixels.

Although green and red are generally considered difficult to distinguishfor a colorblind person, the color scheme can change the warmth or shadeof these colors so that they are more easily distinguishable. Forexample, if the associates have already been trained that red and greenmean two different states (e.g., red means the container is blocked andgreen means the container is not full), instead of re-training theassociates, the LED controller can program the pixels to outputdifferent shares of red and green which are more readable discernable toa colorblind associate. Thus, the associates do not need to bere-trained to correlate the different colors to the container states.Outputting different shades of red and green is possible since thepixels may include different subpixels which permit the LED controllerto output thousands or millions of different colors.

FIGS. 6A and 6B illustrate lighting configurations for identifying acontainer, according to various embodiments. FIG. 6A illustrates LEDstrips 115A-D which are disposed on the frame 105 to surround thecontainer 120. Each of the LED strips 115A-D includes multiple LEDs(i.e., multiple pixels). In this case, only the LEDs in the strip 115Aare illuminated—i.e., illuminated LEDs 610—while the other LEDs in theLED strips are unilluminated—unilluminated LEDs 605. In FIGS. 6A and 6B,it is assumed that the illuminated lights 610 are non-pulsing lightsthat output a constant intensity light.

In one embodiment, the illuminated LEDs 610 correspond to the state ofthe container 120 stored in the inventory tracking system. That is, whenan associate views the LEDs 610, she can identify the state of thecontainer 120—e.g., “full,” “blocked,” “potentially full,” “ready forpickup,” etc. The illuminated LEDs 610 can all be the same color (e.g.,all blue or all green) or they can have different colors. For example,if the illuminated LEDs 610 have green and blue lights, this mayindicate a different state then when those same LEDs include green andorange lights.

Moreover, the illuminated LEDs 610 can output different information.That is, the illuminated LEDs 610 can output a first color and a secondcolor where the first color corresponds to a user action and the secondcolor provides user feedback. For example, the top two illuminated LED610 may be blue to indicate that the container 120 is ready for pick up(e.g., a user action); however, the bottom illuminated LED 610 may begreen to inform the associate she is interacting with the correctcontainer which is one example of providing user feedback. For instance,the LED controller may change the color of the bottom illuminated LED115A using information provided by a computer vision system that trackswhich container 120 the associate is interacting with. Once the computervision system determines the associate has reached for the container120, the LED controller illuminates the bottom illuminated LED 610 toinform the associate she has grabbed the correct color. For example,when this LED 610 is green, the associate knows she has grabbed thecorrect container 120, but if orange, she know she has grabbed the wrongcontainer 120. In this manner, the illuminated LEDs assigned to thecontainer 120 may have different colors which can indicate differenttypes of information—e.g., multiple actions the associate should take,or one user action and user feedback.

As mentioned in the method 500 of FIG. 5, the LED controller can set thecolor of the illuminated LEDs 610 such that the color is distinguishableby a colorblind associate from the color used when the container 120 wasin the previous state. For example, if the LED controller previouslyinstructed the illuminated LEDs 610 to output red, in the state shown inFIG. 6A, the illuminated LEDs 610 may output blue. In this manner, acolorblind associate viewing the LED strip 115A can identify that thestate of the container 120 has changed.

FIG. 6B illustrates illuminating all of the LEDs in the strips 115A-Dwhich may identifying the container 120 easier to the associate. Thatis, using all of the LEDs to output the color corresponding to the stateof the container 120 may make it easier for an associate to determinethat the state of the container 120 has changed relative to using just aportion of the LEDs surrounding the container 120 as shown in FIG. 6A.Each state may correspond to a different color or colors. That is, theilluminated LEDs 610 may all be the same color or the LED controller mayuse multiple colors to indicate the current state of the container 120.

Returning to method 500, if at block 510 the LED controller determinesthe new lighting configuration does include a pulse, the method 500proceeds to block 520 where the LED controller controls a pixel tooutput the pulse using a maximum gradient change rate and a maximumintensity change.

FIG. 7 is a chart 700 for pulsing a pixel while mitigating the risk ofseizures, according to various embodiments. As shown, the chart 700illustrates a maximum gradient change rate (i.e., a max ΔT 710) and amaximum intensity change (i.e., a max ΔI 705). In one embodiment, themax ΔT 710 illustrates the minimum amount of time that must occurbetween transitions (e.g., discrete intensity changes) of the LED orpixel intensity. For example, the max ΔT 710 may require that at mostfive LED intensity changes or transitions can occur each second. Inturn, the max ΔI 705 indicates the maximum amount the LED intensity canchange during any one of the transitions. For example, during thetransitions that occur at Times A-M in chart 700, the LED intensity canchange at most 10% from the previous LED intensity. That is, the LEDintensity at Time B-C can at most be 110% of the LED intensity of thepixel at Time A-B. Similarly, the LED intensity at Time D-E may be 90%of the LED intensity of the pixel at Time C-D.

The chart 700 illustrates, the LED intensity gradually increases in astep-wise manner between Times A-C before reaching a peak LED intensity.At Times D-I, the LED intensity gradually decreases using the sameconstraints—i.e., the max ΔI 705 and max ΔT 710. During Times J-L, theLED intensity returns to its original intensity before Time A. In oneembodiment, the Times A-M correspond to the transitions used toillustrate one pulse of the LED where the LED increases to a peak LEDintensity and then decreases to a minimum LED intensity before returningto an average LED intensity. The Times A-M can be repeated any number oftimes to make the LED pulse continually. For example, the pulsing shownin chart 700 can be used when the state of the container is changed to“urgent” to indicate the items in the container are scheduled to beshipped out of the warehouse in the next hour. The LED controller maycontinue to pulse the LED or LEDs corresponding to the container untilthe associate provides feedback indicated she has retrieved thecontainer from the distribution system.

Although chart 700 illustrates not turning the LED completely off whenpulsing (e.g., the minimum LED intensity is non-zero), the LEDcontroller may turn off the LED during pulsing—e.g., the LED intensityreaches zero. Moreover, in one embodiment, it may be possible to turnthe LED directly from an on state (i.e., some non-zero LED intensity) toan off-state (i.e., a zero LED intensity) when pulsing rather than agradual change in LED intensity using multiple transitions as shown inthe chart 700. However, the time between the transitions from the on tooff states may be longer than the max ΔT 710 illustrated in chart 700because of the large changes in the LED intensity. That is, because themax ΔI 705 is so large when turning the LED on and off, the time betweentransitions may be increased to mitigate a risk the pulsing can cause anoptical seizure.

FIGS. 8A-8C illustrate pulsing multiple pixels to form an animation,according to various embodiments. In one embodiment, the animation shownin FIGS. 8A-8C is performed using the maximum gradient change rate andthe maximum intensity change illustrated in the chart 700 to mitigatethe risk of seizures to the associates. The FIGS. 8A-8C illustratedifferent sequential time periods in the animation.

FIG. 8A illustrates multiple pixels 805 surrounding a storage locationin the frame 105. Moreover, FIG. 8A illustrates a first time periodwhere the pixel 805A is at a low intensity 820, the pixel 805B is at amedium intensity 810, the pixel 805C is at a high intensity 815, thepixel 805D is at the medium intensity 810, and the pixel 805E is at thelow intensity 820. This pattern then continues around the remainingpixels (not labeled) surrounding the storage location.

FIG. 8B illustrates a second, subsequent time period to the first timeperiod in FIG. 8B where now the LED intensity for the pixel 805A is atthe medium intensity 810, the pixel 805B is at the low intensity 820,the pixel 805C is at the medium intensity 810, the pixel 805D is at thehigh intensity 815, and the pixel 805E is at the medium intensity 810.Because the high intensity attracts the attention of the associate themost, it appears to the associate that the high intensity light hasmoved from the pixel 805C to the pixel 805D.

FIG. 8C illustrates a third, subsequent time period to the second timeperiod in FIG. 8B where now the LED intensity for the pixel 805A is atthe high intensity 815, the pixel 805B is at the medium intensity 810,the pixel 805C is at the low intensity 820, the pixel 805D is at themedium intensity 810, and the pixel 805E is at the high intensity 815.Thus, FIGS. 8A-8C illustrate a pattern where the intensities of thepixels 805 change from the low intensity 820, to the medium intensity810, to the high intensity 815, and back to the medium intensity 810 andthe low intensity 820. However, the intensities of the pixels 805 arestaggered relative to their neighbors to provide the animation where itappears the high intensity pixels are traveling in a clockwise directionaround the storage location. That is, the intensities of the pixels 805have a fixed phase offset relative to at least one other pixel 405 suchthat the change in intensity of one pixel 805 trails (or leads) thechange in intensity for another neighboring pixel 805. This animationmay be better at capturing the attention of the associate relative tothe embodiment shown in FIG. 6B where all the LEDs are one at a constantbrightness. For example, the LED controller may use the animation inFIGS. 8A-8C to indicate that the container is in an “urgent” state thatrequires the immediate attention, while the scheme illustrated in FIG.6B may be used when the container has a less urgent state.

FIGS. 9A-9C illustrate pulsing multiple pixels to form an animation,according to various embodiments. In one embodiment, the animation shownin FIGS. 9A-9C is performed using the maximum gradient change rate andthe maximum intensity change illustrated in the chart 700 to mitigatethe risk of seizures to the associates. The FIGS. 9A-9C illustratedifferent sequential time periods in the animation.

FIG. 9A illustrates a portion of the frame 105 with a plurality ofpixels 905A-E. In this embodiment, the LED controller adjusts the LEDintensity of the pixels 905 to direct the attention of the associate tothe container 120. That is, the animation points to the container 120.In the first time period illustrated by FIG. 9A, the pixels 905A and905B are unilluminated while the pixels 905C-E are illuminated, albeitat different intensities. That is, the pixel 905C is at the lowintensity 820, the pixel 905D is at the medium intensity 810, and thepixel 905E is at the high intensity 815.

FIG. 9B illustrates a second, subsequent time period to the first timeperiod in FIG. 9A where the pixel 905E has decreased to the mediumintensity 810, the pixel 905D has increased to the high intensity 815,the pixel 905C has increased to the medium intensity 810, and the pixel905B (which was previous unilluminated) is at the low intensity 820.

FIG. 9C illustrates a third, subsequent time period to the second timeperiod in FIG. 9B where the pixel 905E has decreased to the lowintensity 820, the pixel 905D has decreased to the medium intensity 810,the pixel 905C has increased to the high intensity 815, the pixel 905Bhas increased to the medium intensity 810, and the pixel 905A which waspreviously unilluminated is at the low intensity 820. Although notshown, the pattern can continue where the pixel 905A closest to thecontainer 120 changes to the high intensity 815 while the intensities ofthe other pixels 905B-E decrease—e.g., the pixel 905E may be turned off.For that point onward, the intensity of the pixels 905A-E may decreaseuntil all the pixels all off.

Once completed, the animation may repeat where the intensity of thepixel 905E is increased first, followed by the intensity of the pixels905D, and then followed by the intensity of the pixel 905C until thepixels are in the state shown in FIG. 9A and then repeat as describedabove. Because the associate is most attracted to the high intensitypixel, the animation shown in FIGS. 9A-9C moves the high intensity pixelfrom right to left towards the container 120 where it stops and thenbegins to fade. As such, this animation may be better at capturing theattention of the associate and clearly indicating the container. Forexample, the animation shown in FIGS. 9A-9C may be used when a containerfirst changes states (e.g., during the first 1-5 seconds of the statechange) before switching to a lighting configuration corresponding tothe state. That is, this animation may be used each time a containerchanges state to capture the attention of the associate. The animationis then stopped and the pre-assigned lighting configuration (e.g., aconstant color or another animation) is then used to indicate the actionthe associate should take regarding the container 120.

Returning to the method 500, in addition to controlling the pixelsaccording to the maximum gradient change rate and the maximum intensitychange, the method 500 can proceed to block 515 where the color for thepulsing light is selected to be colorblind friendly as described above.That is, the color or colors used in the animation may be selected to bedistinguishable from the color or colors used during the lightingconfiguration for the previous state of the container.

At block 525, the inventory tracking system waits for associatefeedback. In one embodiment, the inventory tracking system waits for theassociate to perform an action corresponding to the new state asdescribed at block 325 of the method 300. The method 500 can then repeatwhen the inventory tracking system and the LED controller change thestate of the container which corresponds to a different lightingconfiguration.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

In the preceding, reference is made to embodiments presented in thisdisclosure. However, the scope of the present disclosure is not limitedto specific described embodiments. Instead, any combination of thedescribed features and elements, whether related to differentembodiments or not, is contemplated to implement and practicecontemplated embodiments. Furthermore, although embodiments disclosedherein may achieve advantages over other possible solutions or over theprior art, whether or not a particular advantage is achieved by a givenembodiment is not limiting of the scope of the present disclosure. Thus,the preceding aspects, features, embodiments and advantages are merelyillustrative and are not considered elements or limitations of theappended claims except where explicitly recited in a claim(s).

As will be appreciated by one skilled in the art, the embodimentsdisclosed herein may be embodied as a system, method or computer programproduct. Accordingly, aspects may take the form of an entirely hardwareembodiment, an entirely software embodiment (including firmware,resident software, micro-code, etc.) or an embodiment combining softwareand hardware aspects that may all generally be referred to herein as a“circuit,” “module” or “system.” Furthermore, aspects may take the formof a computer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may be usedto implement embodiments of the invention. The computer readable mediummay be a computer readable signal medium or a computer readable storagemedium. A computer readable storage medium may be, for example, but notlimited to, an electronic, magnetic, optical, electromagnetic, infrared,or semiconductor system, apparatus, or device, or any suitablecombination of the foregoing. More specific examples (a non-exhaustivelist) of the computer readable storage medium would include thefollowing: an electrical connection having one or more wires, a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), an optical fiber, a portable compact disc read-onlymemory (CD-ROM), an optical storage device, a magnetic storage device,or any suitable combination of the foregoing. In the context of thisdocument, a computer readable storage medium is any tangible medium thatcan contain, or store a program for use by or in connection with aninstruction execution system, apparatus or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Aspects of the present disclosure are described with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodimentspresented in this disclosure. It will be understood that each block ofthe flowchart illustrations and/or block diagrams, and combinations ofblocks in the flowchart illustrations and/or block diagrams, can beimplemented by computer program instructions. These computer programinstructions may be provided to a processor of a general purposecomputer, special purpose computer, or other programmable dataprocessing apparatus to produce a machine, such that the instructions,which execute via the processor of the computer or other programmabledata processing apparatus, create means for implementing thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality and operation of possible implementations ofsystems, methods and computer program products according to variousembodiments. In this regard, each block in the flowchart or blockdiagrams may represent a module, segment or portion of code, whichcomprises one or more executable instructions for implementing thespecified logical function(s). It should also be noted that, in somealternative implementations, the functions noted in the block may occurout of the order noted in the figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

While the foregoing is directed to embodiments of the present invention,other and further embodiments of the invention may be devised withoutdeparting from the basic scope thereof, and the scope thereof isdetermined by the claims that follow.

1-5. (canceled)
 6. A system, comprising: a frame defining a plurality ofstorage locations; a plurality of pixels disposed on the frame, whereineach one of the plurality of pixels is arranged on the frame toestablish an assigned relationship with one of the plurality of storagelocations; and a controller communicatively coupled to the plurality ofpixels, wherein the controller is configured to: change a lightingconfiguration of a first pixel of the plurality of pixels to indicate afirst state change of a first storage location of the plurality ofstorage locations, wherein a color of the first pixel is selected to becolorblind friendly relative to a previous color displayed by the firstpixel, and wherein an intensity of the first pixel changes based on amaximum gradient change rate and a maximum intensity change to mitigatea risk of optical seizures.
 7. The system of claim 6, wherein theplurality of pixels are individually addressable by the controller suchthat the controller can change the color of the first pixelindependently from the other pixels.
 8. The system of claim 6, whereineach of the plurality of pixels comprises a plurality of subpixels,wherein, to change the lighting configuration of the first pixel, thecontroller transmits a digital value to each of the plurality ofsubpixels in the first pixel, wherein a combination of light outputtedby the plurality of subpixels in response to the digital values resultsin the color of the first pixel.
 9. The system of claim 8, wherein thecontroller is configured to: change the lighting configuration of thefirst pixel to indicate a second state change of the first storagelocation by transmitting at least one different digital value to theplurality of subpixels in the first pixel relative to the digital valuestransmitted to indicate the first state change, wherein the color of thefirst pixel used to indicate the first state change is selected to becolorblind friendly relative to the color of the first pixel used toindicate the second state change.
 10. The system of claim 6, wherein thecontroller is configured to change a lighting configuration of a secondpixel of the plurality of pixels to indicate the first state change ofthe first storage location, wherein intensities of the first and secondpixels change simultaneously to provide an animation corresponding tothe first state change, and wherein a change in the intensity of thesecond pixel is defined by the maximum gradient change rate and themaximum intensity change to mitigate a risk of optical seizures whenpulsing the first and second pixels.
 11. The system of claim 10, whereinthe intensity of the first pixel is different from the intensity of thesecond pixel when performing the animation, wherein the animationrepeats so long as the first storage location remains in the statecorresponding to the first state change.
 12. The system of claim 10,wherein, when performing the animation, the controller is configured togradually change the intensities of the first and second pixels from ahigh intensity to a low intensity, and back to the high intensity, usinga plurality of discrete transitions over a defined period of time,wherein a number of the plurality of discrete transitions over thedefined period of time satisfies the maximum gradient change rate. 13.The system of claim 12, wherein the low intensity is greater than zerosuch that the first and second pixels do not turn off during theanimation.
 14. The system of claim 10, wherein the animation isconfigured to indicate to a user viewing the plurality of storagelocations a location of the first storage location in the frame, whereinthe lighting configuration of the first pixel that indicates the firststate change corresponds to a predefined user action.
 15. The system ofclaim 6, wherein the controller is configured to change a lightingconfiguration of a second pixel of the plurality of pixels at the sametime the first pixel is illuminated, wherein the color of the firstpixel is different from a color of the second pixel, and wherein thecolor of the first pixel indicates an action that a user should take,while the color of the second pixel provides user feedback indicatingwhether the user is interacting with the correct storage location.
 16. Amethod, comprising: receiving an indication of a first state change of afirst container of a plurality of containers, wherein the plurality ofcontainers are stored in a plurality of storage locations defined by aframe, wherein a plurality of pixels are disposed on the frame, each ofwhich is arranged to establish an assigned relationship with one of theplurality of storage locations; and changing a lighting configuration ofa first pixel of the plurality of pixels to indicate the first statechange of the first container, wherein a color of the first pixel isselected to be colorblind friendly relative to a previous colordisplayed by the first pixel, and wherein an intensity of the firstpixel is changed based on a maximum gradient change rate and a maximumintensity change to mitigate a risk of optical seizures.
 17. The methodof claim 16, wherein changing the lighting configuration of the firstpixel comprises: transmitting a digital value to each of a plurality ofsubpixels in the first pixel, wherein a combination of light outputtedby the plurality of subpixels in response to the digital values resultsin the color of the first pixel.
 18. The method of claim 17, furthercomprising: changing the lighting configuration of the first pixel toindicate a second state change of the first container by transmitting atleast one different digital value to the plurality of subpixels in thefirst pixel relative to the digital values transmitted to indicate thefirst state change, wherein the color of the first pixel used toindicate the first state change is selected to be colorblind friendlyrelative to the color of the first pixel used to indicate the secondstate change.
 19. The method of claim 16, further comprising: changing alighting configuration of a second pixel of the plurality of pixels toindicate the first state change of the first container, whereinintensities of the first and second pixels change simultaneously toprovide an animation corresponding to the first state change, andwherein a change in the intensity of the second pixel is defined by themaximum gradient change rate and the maximum intensity change tomitigate a risk of optical seizures when pulsing the first and secondpixels.
 20. The method of claim 19, wherein changing the lightingconfigurations of the first and second pixels comprise: graduallychanging intensities of the first and second pixels from a highintensity to a low intensity, and back to the high intensity, using aplurality of discrete transitions over a defined period of time, whereina number of the plurality of discrete transitions over the definedperiod of time satisfies the maximum gradient change rate.